//
// Created by hsj on 2021/12/21.
//

#ifndef CLION_CPP_REF_CPP_H
#define CLION_CPP_REF_CPP_H
//主要是测试引用
//初始化一次，之后誓死效忠初始化的对象

//引用，顾名思义是某一个变量或对象的别名（另一个名称），对引用的操作与对其所绑定的变量或对象的操作完全等价
//        语法：类型 &引用名=目标变量名；
//特别注意：
//1.&不是求地址运算符，而是起标志作用
//2.引用的类型必须和其所绑定的变量的类型相同


//引用类比于const指针：
//int a = 18;
//int &b = a;
//int * const c = &a;

void test_ref();
void test_getchar_cmd();
//返回值解释为值
int valplus(int &a);
//返回值解释为引用
int &valplus_r(int &a);

//int a = 18; 表达式（a + 18）、强制类型转换（const修饰并且实参不匹配）、魔术值 传递给引用，将会导致引用指向该无名变量
double refcube(const double &ra);
#endif //CLION_CPP_REF_CPP_H
